package day14;

public class MyDateTest {
    public static void main(String[] args) {
        MyDate m1 = new MyDate(14,3,1976);
        MyDate m2 = new MyDate(14,3,1976);

        if(m1 == m2) {
            System.out.println("m1 == m2");
        } else {
            System.out.println("m1 != m2");
        }


        if(m1.equals(m2)) {
            System.out.println("m1 is equals to m2");
        } else {
            System.out.println("m1 is not equals to m2");
        }
    }

}

class MyDate{
    private int day;
    private int month;
    private int year;

    public MyDate() {
        // 无参构造器
    }

    public MyDate(int day,int month,int year) {
        this.day = day;
        this.month = month;
        this.year = year;
    }

    public int getDay() {
        return day;
    }

    public void setDay(int day) {
        this.day = day;
    }

    public int getMonth() {
        return month;
    }

    public void setMonth(int month) {
        this.month = month;
    }

    public int getYear() {
        return year;
    }

    public void setYear(int year) {
        this.year = year;
    }

    @Override
    public boolean equals(Object object) {
        if(this == object) {  // 判断输入的值是否指向同一个对象
            return true;
        }

        if(object instanceof MyDate) { // 判断object是否,是 MyDate 的实例/子类
            MyDate myDate = (MyDate)object;

            return this.day == myDate.day && this.month == myDate.month
                    && this.year == myDate.year;
        } else {
            return false;
        }
    }
}
